package FulbitoFacil.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import FulbitoFacil.excepcion.DAOExcepcion;
import FulbitoFacil.modelo.Persona;
import FulbitoFacil.util.ConexionBD;

public class PersonaDAO extends BaseDAO {

	public void insertar(Persona per) throws DAOExcepcion {
		System.out.println("PersonaDAO: insertar(Persona per)");
		String query = "INSERT INTO Persona(tipoPers,nombres,paterno,materno,sexo,tipoDoc,numDoc,email,pass,fecNac,celular) VALUES (?,?,?,?,?,?,?,?,?,?,?)";
		Connection con = null;
		PreparedStatement stmt = null;
		try {
			con = ConexionBD.obtenerConexion();
			stmt = con.prepareStatement(query);
			stmt.setInt(1, per.getIdPersona());
			stmt.setString(1, per.getTipoPers());
			stmt.setString(2, per.getNombres());
			stmt.setString(3, per.getApePaterno());
			stmt.setString(4, per.getApeMaterno());
			stmt.setString(5, per.getSexo());
			stmt.setString(6, per.getTipoDoc());
			stmt.setString(7, per.getNumDoc());
			stmt.setString(8, per.getCorreo());
			stmt.setString(9, per.getPassword());
			stmt.setString(10, per.getFecNac());
			stmt.setString(11, per.getCel());

			/*
			 * Mensaje de error si el usuario ya existe (el Documento de identidad y el correo deben ser unicos).- 
			 * realizar una comparacion con la base de datos del usuario, documennto de identidad y correo 
			*/

			int i = stmt.executeUpdate();
			if (i != 1) {
				throw new SQLException("No se pudo insertar");
			} else {
				System.out.println("El registro fue ingresado correctamente");//Confirmacion del registro OK
			}
		} catch (SQLException e) {
			System.err.println(e.getMessage());
			throw new DAOExcepcion(e.getMessage());
		} finally {
			this.cerrarStatement(stmt);
			this.cerrarConexion(con);
		}
	}

}
